package com.silence.springboot.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import com.silence.springboot.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 用户基础信息表 实体类。
 *
 * @author mybatis-flex-helper automatic generation
 * @since 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Schema(name = "用户基础信息表")
@Table(value = "user_base_info")
@EqualsAndHashCode(callSuper = false)
public class UserBaseInfoEntity extends BaseEntity {

    /**
     * 登录ID
     */
    @Schema(description = "登录ID")
    @Column(value = "login_id")
    private Long loginId;

    /**
     * 姓名
     */
    @Schema(description = "姓名")
    @Column(value = "name")
    private String name;

    /**
     * 昵称
     */
    @Schema(description = "昵称")
    @Column(value = "nick_name")
    private String nickName;

    /**
     * 性别（1：男 2：女 3：未知）
     */
    @Schema(description = "性别（1：男 2：女 3：未知）")
    @Column(value = "sex")
    private String sex;

    /**
     * 年龄
     */
    @Schema(description = "年龄")
    @Column(value = "age")
    private String age;

    /**
     * 邮箱
     */
    @Schema(description = "邮箱")
    @Column(value = "email")
    private String email;

    /**
     * 手机
     */
    @Schema(description = "手机")
    @Column(value = "phone")
    private String phone;

    /**
     * 生日
     */
    @Schema(description = "生日")
    @Column(value = "birthday")
    private LocalDateTime birthday;

    /**
     * 地址
     */
    @Schema(description = "地址")
    @Column(value = "address")
    private String address;

    /**
     * 头像
     */
    @Schema(description = "头像")
    @Column(value = "avatar")
    private String avatar;

    /**
     * 描述
     */
    @Schema(description = "描述")
    @Column(value = "description")
    private String description;

    /**
     * 登录标识（1：管理员，2：学生）
     */
    @Schema(description = "登录标识（1：管理员，2：学生）")
    @Column(value = "login_flag")
    private Integer loginFlag;

    /**
     * 状态（1：正常 0：停用）
     */
    @Schema(description = "状态（1：正常 0：停用）")
    @Column(value = "status")
    private Integer status;

    /**
     * token
     */
    @Schema(description = "token")
    @Column(value = "token")
    private String token;

}
